package org.jeecg.modules.business.warehouse.entity.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 入库任务-物料
 * @Author: jeecg-boot
 * @Date:   2023-07-28
 * @Version: V1.0
 */
@ApiModel(value="wms_in_receipt_task_material对象", description="入库任务-物料")
@Data
@TableName("wms_in_receipt_task_material")
public class ListByMaterialIdResponseVO implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**入库状态*/
	@Excel(name = "入库状态", width = 15)
    @ApiModelProperty(value = "入库状态")
    @Dict(dicCode = "warehouse_status")
    private String warehouseStatus;
	/**检验状态*/
	@Excel(name = "检验状态", width = 15)
    @ApiModelProperty(value = "检验状态")
    private String inspectStatus;
	/**检验结果*/
	@Excel(name = "检验结果", width = 15)
    @ApiModelProperty(value = "检验结果")
    private String inspectResult;

    @ApiModelProperty(value = "物料id")
    private String wmsBasicMaterialId;

    @ApiModelProperty(value = "物料名称")
    private String materialName;

    @ApiModelProperty(value = "物料编码")
    private String materialCode;

    @ApiModelProperty(value = "物料规格型号")
    private String specification;

	/**批次号*/
	@Excel(name = "批次号", width = 15)
    @ApiModelProperty(value = "批次号")
    private String batchCode;
	/**计划数量*/
	@Excel(name = "计划数量", width = 15)
    @ApiModelProperty(value = "计划数量")
    private BigDecimal planQuantity;
	/**已入库数量*/
	@Excel(name = "已入库数量", width = 15)
    @ApiModelProperty(value = "已入库数量")
    private BigDecimal warehousedQuantity;
	/**未入库数量*/
	@Excel(name = "未入库数量", width = 15)
    @ApiModelProperty(value = "未入库数量")
    private BigDecimal unwarehousedQuantity;
	/**库存单位*/
	@Excel(name = "库存单位", width = 15)
    @ApiModelProperty(value = "库存单位")
    @Dict(dictTable = "wms_basic_unit", dicCode = "id", dicText = "name")
    private String wmsBasicUnitId;
	/**仓库*/
	@Excel(name = "仓库", width = 15)
    @ApiModelProperty(value = "仓库")
    @Dict(dictTable = "wms_basic_warehouse",dicText = "name",dicCode = "id")
    private String wmsBasicWarehouseId;
	/**库区*/
	@Excel(name = "库区", width = 15)
    @ApiModelProperty(value = "库区")
    @Dict(dictTable = "wms_basic_warehouse_area",dicText = "name",dicCode = "id")
    private String wmsBasicWarehouseAreaId;
	/**库位*/
	@Excel(name = "库位", width = 15)
    @ApiModelProperty(value = "库位")
    @Dict(dictTable = "wms_basic_warehouse_area_location",dicText = "name",dicCode = "id")
    private String wmsBasicWarehouseAreaLocationId;
	/**辅数量*/
	@Excel(name = "辅数量", width = 15)
    @ApiModelProperty(value = "辅数量")
    private BigDecimal assistQuantity;
	/**钢卷号*/
	@Excel(name = "钢卷号", width = 15)
    @ApiModelProperty(value = "钢卷号")
    private String steelCoilNumber;
	/**外径*/
	@Excel(name = "外径", width = 15)
    @ApiModelProperty(value = "外径")
    private BigDecimal outsideDiameter;
	/**宽度*/
	@Excel(name = "宽度", width = 15)
    @ApiModelProperty(value = "宽度")
    private BigDecimal width;
	/**长度*/
	@Excel(name = "长度", width = 15)
    @ApiModelProperty(value = "长度")
    private BigDecimal length;
	/**厚度*/
	@Excel(name = "厚度", width = 15)
    @ApiModelProperty(value = "厚度")
    private BigDecimal thickness;
	/**牌号*/
	@Excel(name = "牌号", width = 15)
    @ApiModelProperty(value = "牌号")
    private String shopSign;
	/**外观等级*/
	@Excel(name = "外观等级", width = 15)
    @ApiModelProperty(value = "外观等级")
    private String appearanceGrade;
	/**铁损*/
	@Excel(name = "铁损", width = 15)
    @ApiModelProperty(value = "铁损")
    private String ironLoss;
	/**实测片厚*/
	@Excel(name = "实测片厚", width = 15)
    @ApiModelProperty(value = "实测片厚")
    private BigDecimal measuredThickness;
	/**实测铁损*/
	@Excel(name = "实测铁损", width = 15)
    @ApiModelProperty(value = "实测铁损")
    private String measuredIronLoss;
	/**硅钢等级*/
	@Excel(name = "硅钢等级", width = 15)
    @ApiModelProperty(value = "硅钢等级")
    private String siliconGrade;
	/**刻痕*/
	@Excel(name = "刻痕", width = 15)
    @ApiModelProperty(value = "刻痕")
    private String score;
	/**原始净重*/
	@Excel(name = "原始净重", width = 15)
    @ApiModelProperty(value = "原始净重")
    private BigDecimal originalWeight;
	/**实测净重*/
	@Excel(name = "实测净重", width = 15)
    @ApiModelProperty(value = "实测净重")
    private BigDecimal measuredWeight;
	/**载具*/
	@Excel(name = "载具", width = 15)
    @ApiModelProperty(value = "载具")
    private String vehicle;
	/**毛重*/
	@Excel(name = "毛重", width = 15)
    @ApiModelProperty(value = "毛重")
    private BigDecimal grossWeight;
	/**实测空载损耗*/
	@Excel(name = "实测空载损耗", width = 15)
    @ApiModelProperty(value = "实测空载损耗")
    private String measuredNoloadLoss;
	/**实测噪音*/
	@Excel(name = "实测噪音", width = 15)
    @ApiModelProperty(value = "实测噪音")
    private String measuredNoise;
	/**实测电流*/
	@Excel(name = "实测电流", width = 15)
    @ApiModelProperty(value = "实测电流")
    private String measuredCurrent;
	/**预计入库时间*/
	@Excel(name = "预计入库时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "预计入库时间")
    private Date expectedWarehousingTime;
	/**序列号*/
	@Excel(name = "序列号", width = 15)
    @ApiModelProperty(value = "序列号")
    private String serialNumber;
	/**来料质检*/
	@Excel(name = "来料质检", width = 15)
    @ApiModelProperty(value = "来料质检")
    private String incomingQuality;
	/**销售订单号*/
	@Excel(name = "销售订单号", width = 15)
    @ApiModelProperty(value = "销售订单号")
    private String saleOrderNumber;
	/**销售订单行号*/
	@Excel(name = "销售订单行号", width = 15)
    @ApiModelProperty(value = "销售订单行号")
    private String saleOrderLineNumber;
	/**生产工单号*/
	@Excel(name = "生产工单号", width = 15)
    @ApiModelProperty(value = "生产工单号")
    private String productNumber;
	/**生产工单行号*/
	@Excel(name = "生产工单行号", width = 15)
    @ApiModelProperty(value = "生产工单行号")
    private String productLineNumber;
	/**来源系统单号*/
	@Excel(name = "来源系统单号", width = 15)
    @ApiModelProperty(value = "来源系统单号")
    private String originalSystemNumber;
	/**来源系统行号*/
	@Excel(name = "来源系统行号", width = 15)
    @ApiModelProperty(value = "来源系统行号")
    private String originalSystemLineNumber;
	/**已入库数量（辅数量）*/
	@Excel(name = "已入库数量（辅数量）", width = 15)
    @ApiModelProperty(value = "已入库数量（辅数量）")
    private String warehousedQuantityAssist;
	/**未入库数量（辅数量*/
	@Excel(name = "未入库数量（辅数量", width = 15)
    @ApiModelProperty(value = "未入库数量（辅数量")
    private String unwarehousedQuantityAssist;
	/**辅单位*/
	@Excel(name = "辅单位", width = 15)
    @ApiModelProperty(value = "辅单位")
    @Dict(dictTable = "wms_basic_unit", dicCode = "id", dicText = "name")
    private String unitAssistId;
	/**入库任务id*/
    @ApiModelProperty(value = "入库任务id")
    private String wmsInReceiptTaskId;
	/**逻辑删除*/
	@Excel(name = "逻辑删除", width = 15)
    @ApiModelProperty(value = "逻辑删除")
    @TableLogic
    private Integer delFlag;
	/**租户id*/
	@Excel(name = "租户id", width = 15)
    @ApiModelProperty(value = "租户id")
    private Integer tenantId;
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 推荐位置
     */
    @ApiModelProperty(value = "推荐位置")
    private String suggestedLocation;
    @ApiModelProperty("计划生产站点")
    private String planProductSite;

    /**上游行号*/
    @ApiModelProperty(value = "上游行号")
    private String upstreamLineNumber;
    /**上游单号*/
    @ApiModelProperty(value = "上游单号")
    private String upstreamNumber;
    /**上游单据*/
    @ApiModelProperty(value = "上游单据")
    private String upstreamDocuments;

    @ApiModelProperty(value = "是否合卷")
    @Dict(dicCode = "yn")
    private String isMergeRoll;

    @ApiModelProperty(value = "母卷批次号")
    private String motherBatchCode;

    @ApiModelProperty(value = "柱型")
    private String pillar;

    @ApiModelProperty(value = "理料方向")
    private String materialDirection;

    @ApiModelProperty(value = "叫料范围")
    private String askMaterialArea;

    @ApiModelProperty(value = "台号")
    private String stationNum;

    @ApiModelProperty(value = "位置")
    private String location;

    @ApiModelProperty(value = "卷料放置臂")
    private String rollArm;

    @ApiModelProperty(value = "投入批次号")
    private String inputBatchCode;

    @ApiModelProperty(value = "产品型号")
    private String productModel;

    @ApiModelProperty(value = "产品类型")
    private String productType;
    /**
     * 计划生产工单号
     */
    @ApiModelProperty(value = "计划生产工单号")
    private String planProductOrderNumber;

    @ApiModelProperty("车号")
    private String vehicleNumber;
    @ApiModelProperty("臂号")
    private String armNo;

    /**
     * 客户单号
     */
    @ApiModelProperty(value = "客户单号")
    private String customerOrderNumber;

    @ApiModelProperty(value = "产出批次号")
    private String outputBatchCode;

    @ApiModelProperty("卷料收卷顺序")
    private Integer sequence;
}
